#pragma once


struct ITexture;

struct IShader
{
	virtual ~IShader() {}

	virtual bool Load(const char* filename) = 0;
	virtual uint BeginTechnique(const char* name) = 0;
	virtual void EndTechnique() = 0;
	virtual void BeginPass(uint index) = 0;
	virtual void EndPass() = 0;

	virtual void SetSamplerTexture(const char* sampler, ITexture* texture) = 0;
};